package br.com.skynet.beans;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.component.html.HtmlCommandButton;
import javax.faces.component.html.HtmlOutputText;
import javax.faces.event.ActionEvent;

import br.com.skynet.dominio.Produto;

@ManagedBean
@SessionScoped
public class GestaoBean {
	
	private HtmlCommandButton button;
	private Produto produto;
	private List<Produto> produtos;
	private HtmlOutputText mensagem;
	private Produto produtoSelecionado;
	
	public GestaoBean(){
		produto = new Produto();
		produtos = new ArrayList<Produto>();
	}
	
	public void adicionar(){
		System.out.println("adicionando produto");
		if(!produtos.contains(produto) && !produto.getNome().equals("")){
			produtos.add(produto);
			mensagem.setStyleClass("");
			mensagem.setValue("");
		}else{
			mensagem.setStyleClass("error");
			mensagem.setValue("Erro: Objeto Duplicado! Nao foi possivel inserir produto!");
		}
		produto = new Produto();
	}
	
	
	public void destaque(){
		if(button.getStyle()==null){
			button.setStyle("background:red");	
		}else{
			button.setStyle(null);
		}
		
	}
//	este metodo eh executado antes do adicionar
	public void verificaInclusao(ActionEvent ev){
		System.out.println("verificando");
		if("".equals(produto.getFabricante())){
			produto.setFabricante("Sem fabricante");
		}
	}
	public void excluir(){
		this.produtos.remove(produtoSelecionado);
	}

	public HtmlCommandButton getButton() {
		return button;
	}

	public void setButton(HtmlCommandButton button) {
		this.button = button;
	}

	public Produto getProduto() {
		return produto;
	}

	public void setProduto(Produto produto) {
		this.produto = produto;
	}

	public List<Produto> getProdutos() {
		return produtos;
	}

	public void setProdutos(List<Produto> produtos) {
		this.produtos = produtos;
	}

	public HtmlOutputText getMensagem() {
		return mensagem;
	}

	public void setMensagem(HtmlOutputText mensagem) {
		this.mensagem = mensagem;
	}

	public Produto getProdutoSelecionado() {
		return produtoSelecionado;
	}

	public void setProdutoSelecionado(Produto produtoSelecionado) {
		this.produtoSelecionado = produtoSelecionado;
	}	

}
